package iosu.java.games.razer;

/**
 * Este tipo enumerado contiene todos los estados posibles por los que puede
 * pasar el cliente de juego Razer
 * 
 * @author iosu
 * 
 */
public enum ClientStatus {
    /**
     * idle, cliente instanciado pero no ha arrancado aun 
     */
    IDLE,
    // inicializando
    INITIALIZING,
    // arrancando
    STARTING,
    // error de red, no se pueden seguir
    NETWORK_ERROR,
    // reintentando arrancahr
    RETRYING_START,
    // esperando a que el jugador ponga su nombre 
    WAITING_FOR_PLAYER_NAME,
    // conectado al servidor
    CONNECTED,
    // esperando al HELLOK
    WAITING_FOR_HELLOOK,
    // no conectado, esto seria por error en el servidor
    NOT_CONNECTED,
    // registrado en el servidor
    REGISTERED,
    // esperando a otros jugadores, el cliente crea partida
    WAITING_FOR_PLAYERS,
    // esperando a una partida, el cliente entra a partida existente
    WAITING_FOR_GAME,
    // jugando
    PLAYING,
    // juego terminado
    GAME_FINISHED,
    // terminando
    CLOSING,
    // si no hay cambio de estado
    NOOP,
    // esperando a que empiece mi partida
    WAITING_FOR_GAME_REQUESTED,
    // esperando a que haya jugadores que se conecten a mi partida
    WAITING_FOR_PLAYERS_REQUESTED,
    // cuatro jugadores conectados, se puede empezar
    GAME_READY,
    // se ha pulsado comenzar
    ONYOURMARKS,
    // esperandio la lista de partidas -- no implementado
    WAITING_FOR_GAMELIST,
    // el jugador ha terminado la carrera
    CAR_FINISHED, SHOWRESULTS, WAITING_FOR_FINISH

}
